ETH2.0: Cross-shard Communication
See also the related works in Sharding: Cross-shard communication
Overview
Basics in Sharding FAQ
Cross shard contract yanking @ethresear.ch, 2018.5
Contracts can specify their own conditions for when they get yanked
For usability perspective, contract separates out the state related to individual interactions so that it can be moved between shards separately
The train and hotel EE 2020.2
Automatic yanking
Phase 2 pre-spec: cross-shard mechanics (WIP) @ethresearch, 2019.2
Address format
Cross-shard receipt creation and inclusion: Introduce special pre-compiles (cross-shard sender/receiver)
Withdrawing from the beacon chain
Synchronous
Delayed state execution, finality and cross-chain operations 2018.2
Follow-up: Delayed state execution in practice
Synchronous cross-shard transactions with consolidated concurrency control and consensus (or how I rediscovered Chain Fibers) by Casey Detrio, 2018.6
References
Delayed state execution, finality and cross-chain operations 2018.2
Simple synchronous cross-shard transaction protocol by Vitalik, 2018.8
Makes it impossible to have two transactions at the same height that affect the same account
Simple explanation on the Sharding FAQ
Layer 2 state schemes 2019.6
On-chain Plasma
Related idea: Merge block
See in CBC Casper: Sharding
Application design
Cross-shard DeFi composability
Cases which can be done with "move things to the same shard and execute" scheme is introduced
but neither synchronous (e.g. using the data from an oracle immediately) nor atomic (e.g. risk-free arbitrage between Uniswap and some other single-threaded DEX on some other shard)
Discussions collected by Ben, Thread by Jesse Walden
Partially sharding single-threaded apps: a design pattern
Devide a single-threaded apps (e.g. Uniswap) into a single executor and multiple sequencers
This way, non-core logic (e.g. signature verification) can be parallelized
nrryuya.icon > Calldata on the executor shard is still big, without some aggregation technique?
On-beacon-chain saved contracts
Codes shared between many usecases are put on the beacon chain
E.g. Cryptographic algorithms, smart contract wallet implementations, token contract implementations (, and execution environments)
Other Resources
Research Compendium
Guaranteed-TX: The exploration of a guaranteed cross-shard transaction execution protocol for Ethereum 2.0
Master thesis